package com.mini.rpc.common;

import io.netty.util.concurrent.Promise;
import lombok.Data;

@Data
public class MiniRpcFuture<T> {
    /**
     * Promise模式本质是一种异步编程模式
     * 可以先拿到一个查看任务执行结果的凭证, 不必等待任务执行完毕
     * 当我们需要获取任务执行结果时, 在使用凭证提供的相关接口来获的
     */
    private Promise<T> promise;
    private long timeout;

    public MiniRpcFuture(Promise<T> promise, long timeout) {
        this.promise = promise;
        this.timeout = timeout;
    }
}
